package com.foreknow.demo;

/**
 * static静态的： 可以修饰属性、方法、 代码块
 * 1. 静态属性(类属性)：可以被多个对象共享 ，如果有一个对象修改了值，其它对象也会发生变化
 * 注意：因为静态属性属于类而不属于某个对象，所以通过 类名.去调用
 * 2. 静态方法： 类名.去调用
 * 3. 静态代码块：在类第一次加载的时候，执行并在整个程序的运行周期中执行一次
 *    static {
 *
 *    }
 * 面试：说说你对static的了解？
 * final(最终的) 可以修饰类、属性、方法
 * 1. 一个类被修饰为final表示这个类是不能被继承的
 * 2. 如果一个属性或变量被final修饰，表示常量，被初始化后值是不能改变的，只能赋值一次
 * 3. 如果用final修饰方法表示这个方法是不被重写的
 *     public final void m1(){}
 * 单例模式
 */
public class Student {
        public static final int COUNT = 0;
//    static {
//        System.out.println("111111111111111111");
//    }

//    public final void m1(){
//
//    }

    public static void main(String[] args) {
        Student s = new Student();
        //        s.COUNT = 12;
    }
//    public String sname;
//    public static int count;
//
//    public static void test() {
//        System.out.println("1111111111111111111");
//    }
//
//    public static void main(String[] args) {
//        Student s1 = new Student();
//        s1.sname = "tom";
//        Student.count = 1;
//
//        Student s2 = new Student();
//        s2.sname = "fender";
//        Student.count = 100;
//
//        System.out.println(s1.sname);
//        System.out.println(s1.count);
//        System.out.println("----------------------------------");
//        System.out.println(s2.sname);
//        System.out.println(s2.count);
//    }
}
